iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
0
Data Technology

職場老鳥的資料科學初體驗-R語言專案實作紀錄系列 第 21

(Day21)專案實作-使用leaflet 套件繪製互動式地圖網頁

  • 分享至 

  • xImage
  •  

Leaflet 是一套適用於各種平台的 JavaScript 地圖繪製工具,可以呈現類似 Google 地圖的效果。
結果可適用於電腦與行動裝置等跨平台使用,使用簡單又快,是個好用的地圖呈現工具.
R的Leafle套件讓使用者在 R 的環境中,直接畫出網頁互動式的地圖,使用者可以使用滑鼠操作地圖(放大、移動等),另外 Leaflet 的地圖也可以內坎在 R Markdown 文件或 Shiny 應用程式中,與既有的文件或應用程式整合在一起。

安裝與使用

install.packages("leaflet")
library(leaflet)

小試一下

map<-leaflet()
map<-addTiles(map)
map<-addMarkers(map,lng=121.4580,lat=25.01186,popup = "新北市板橋區")
map<-addCircles(map,lng=121.4580,lat=25.01186)
map

https://ithelp.ithome.com.tw/upload/images/20171225/20107033OOEt6qo5Ip.png
用管線方式調整一下
並將專案中前行政區留言數前20的紀錄,當作資料來源.

map<-leaflet(dfcageo20)%>%
  addTiles()%>%
  setView(lng=121.4580,lat=25.01186,zoom=10) #設定中心點
map%>%addCircles(lng = ~lon,lat = ~lat,      #自df取經緯
                 radius = ~count,            #用計數表示圓圈大小
                 fill=TRUE)                  #表示實心圓 也可填入透明度
 

https://ithelp.ithome.com.tw/upload/images/20171225/201070338uXFMVr6Iz.png

將地標點的名稱用cityarea顯示

  leaflet(dfcageo20)%>%
  addTiles()%>%
  addMarkers(lng = ~lon,lat = ~lat,popup = ~as.character(cityarea))

https://ithelp.ithome.com.tw/upload/images/20171225/20107033hNlc95aebe.png
嘗試將結果輸出為網頁,底圖部分,需使用有允許網頁顯示的底圖 本例來說"CartoDB.Positron"

leaflet(dfcageo)%>%
   addTiles()%>%
   addProviderTiles("CartoDB.Positron")%>%
   setView(lng=121.4580,lat=25.01186,zoom=10)%>%
   addCircles(lng = ~lon,lat = ~lat,
             radius = ~count,
             popup = ~paste0(as.character(cityarea),"數量為:",as.character(count)),
             color = brewer.pal(8,"Set3"),
             fillOpacity = 0.5)

https://ithelp.ithome.com.tw/upload/images/20171225/20107033UpopZD5FLf.png

 leaflet(dfcageo20)%>%
   addTiles()%>%
   addProviderTiles("CartoDB.Positron")%>%
   addMarkers(lng = ~lon,lat = ~lat,
              popup = ~paste0(as.character(cityarea),"數量為:",as.character(count))
              )

透過Export 可匯出成HTML格式
或按本例發佈在Rpub上
https://ithelp.ithome.com.tw/upload/images/20171225/201070337BM1fXSxpV.png
如有需要請自行申請帳號
https://ithelp.ithome.com.tw/upload/images/20171225/20107033tyj8qvcOdY.png


上一篇
(Day20) 專案實作-用ggmap實作用地圖的方式呈現行政區分佈
下一篇
(Day22)networkD3套件實作
系列文
職場老鳥的資料科學初體驗-R語言專案實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言